Grading cosmetic appearance of a test object

ABSTRACT

A method includes receiving, by a processor, a plurality of images of a test object, the plurality of images including a plurality of surfaces of the test object. The processor receives an image of a barcode on the test object. The processor selects a region of interest in each of the plurality of images of the test object. The region of interest includes the test object having a background removed. For the plurality of regions of interest as selected, the processor compares each region of interest with a corresponding profile image and identifying defects in each region of interest. The corresponding profile image is determined from the image barcode on the test object. The method includes grading, by the processor, a cosmetic appearance of each region of interest based on the identified defects. The method includes storing the grades of the cosmetic appearance for each region of interest.

FIELD OF THE TECHNOLOGY

At least some embodiments disclosed herein relate generally to cosmeticevaluation of an object. More particularly, the embodiments relate tosystems, devices, and methods for computer-aided cosmetic evaluation andcategorization of an object such as, but not limited to, an electronicdevice or the like.

BACKGROUND

Large volumes of computing devices (e.g., mobile devices, such ascellular telephones, tablets, etc.) are recycled and often refurbished.There are numerous aspects to the refurbishing process. One aspectincludes inspecting the visual characteristics of the computing deviceto grade its visual appearance. Some of these devices are thenrefurbished and can be resold to new users.

SUMMARY

In some embodiments, a method includes receiving, by a processor, aplurality of images of a test object, the plurality of images includinga plurality of surfaces of the test object. In some embodiments, themethod includes receiving, by the processor, an image of a barcode onthe test object. In some embodiments, the method includes selecting, bythe processor, a region of interest in each of the plurality of imagesof the test object. In some embodiments, the region of interest includesthe test object having a background removed. In some embodiments, forthe plurality of regions of interest as selected, the method includescomparing, by the processor, each region of interest with acorresponding profile image and identifying defects in each region ofinterest. In some embodiments, the corresponding profile image isdetermined from the image barcode on the test object. In someembodiments, the method includes grading, by the processor, a cosmeticappearance of each region of interest based on the identified defects.In some embodiments, the method includes storing the grades of thecosmetic appearance for each region of interest.

In some embodiments, the method includes sending the grades of thecosmetic appearance for each region of interest to a remote device.

In some embodiments, the plurality of images of the test object arereceived from a remote device. In some embodiments, the remote deviceincludes a camera configured to capture the plurality of images.

In some embodiments, the remote device is a cosmetic inspection device.

In some embodiments, the remote device is a mobile device.

In some embodiments, the barcode is a QR code.

In some embodiments, the method includes aligning the plurality ofimages with the corresponding profile images.

In some embodiments, the test object is a mobile device. In someembodiments, the method includes determining a value of the mobiledevice based on the grades of the cosmetic appearance for each region ofinterest.

In some embodiments, the test object is a mobile device. In someembodiments, the barcode is a QR code displayed on a display of themobile device.

In some embodiments, a system includes a server device including aprocessor and a memory. In some embodiments, the processor of the serverdevice is configured to receive a plurality of images of a test object.In some embodiments, the plurality of images include a plurality ofsurfaces of the test object. In some embodiments, the processor isconfigured to receive an image of a barcode on the test object. In someembodiments, the processor is configured to select a region of interestin each of the plurality of images of the test object. In someembodiments, the region of interest includes the test object having abackground removed. In some embodiments, for the plurality of regions ofinterest as selected, the processor is configured to compare each regionof interest with a corresponding profile image and identify defects ineach region of interest. In some embodiments, the corresponding profileimage is determined from the image barcode on the test object. In someembodiments, the processor is configured to grade a cosmetic appearanceof each region of interest based on the identified defects. In someembodiments, the processor to store the grades of the cosmeticappearance for each region of interest.

In some embodiments, the processor is configured to send the grades ofthe cosmetic appearance for each region of interest to a remote deviceover a network.

In some embodiments, the plurality of images of the test object arereceived from a remote device over a network. In some embodiments, theremote device includes a camera configured to capture the plurality ofimages.

In some embodiments, the remote device is a cosmetic inspection device.

In some embodiments, the remote device is a mobile device.

In some embodiments, the barcode is a QR code.

In some embodiments, the processor is configured to align the pluralityof images with the corresponding profile images.

In some embodiments, the test object is a mobile device. In someembodiments, the processor is configured to determine a value of themobile device based on the grades of the cosmetic appearance for eachregion of interest.

In some embodiments, the test object is a mobile device. In someembodiments, the barcode is a QR code displayed on a display of themobile device.

In some embodiments, a non-transitory computer-readable storage mediumincludes instructions that, when executed by a processor, cause theprocessor to perform a method. In some embodiments, the method includesreceiving, by the processor, a plurality of images of a test object, theplurality of images including a plurality of surfaces of the testobject. In some embodiments, the method includes receiving, by theprocessor, an image of a barcode on the test object. In someembodiments, the method includes selecting, by the processor, a regionof interest in each of the plurality of images of the test object. Insome embodiments, the region of interest includes the test object havinga background removed. In some embodiments, for the plurality of regionsof interest as selected, the method includes comparing, by theprocessor, each region of interest with a corresponding profile imageand identifying defects in each region of interest. In some embodiments,the corresponding profile image is determined from the image barcode onthe test object. In some embodiments, the method includes grading, bythe processor, a cosmetic appearance of each region of interest based onthe identified defects. In some embodiments, the method includes storingthe grades of the cosmetic appearance for each region of interest.

In some embodiments, the method includes sending the grades of thecosmetic appearance for each region of interest to a remote device overa network.

BRIEF DESCRIPTION OF THE DRAWINGS

References are made to the accompanying drawings that form a part ofthis disclosure and illustrate embodiments in which the systems andmethods described in this Specification can be practiced.

FIG. 1 shows a cosmetic grading system, according to some embodiments.

FIG. 2 shows a system for validation of installation of a component inan assembly, according to an embodiment.

FIG. 3 shows a portion of the system for validation of installation of acomponent of an assembly of FIG. 2 , according to an embodiment.

FIG. 4 shows a schematic architecture for the system of FIG. 2 ,according to an embodiment.

FIG. 5 shows a block diagram illustrating an internal architecture of anexample of a mobile device, according to some embodiments.

FIG. 6 shows a flowchart of a method, according to some embodiments.

FIG. 7 shows a flowchart of a method, according to some embodiments.

Like reference numbers represent the same or similar parts throughout.

DETAILED DESCRIPTION

Various objects such as, for example, a shipping box or container canshow damage such as scuffmarks, dents, rips, tears, or the like. Otherexamples include computer devices such as, but not limited to,smartphones, tablets, laptops, smartwatches, and the like, can showdamage such as cracks, scuffmarks, or the like. The visible damage canbe important in understanding whether the shipping box or container wasdamaged during shipment, or whether a computer device has lost some ofits value. Objects such as computer devices also include numerouscomponents that are assembled together. The assembly process can includefasteners (e.g., screws or the like) that keep the various componentssecured. It is important that these fasteners be installed correctly(e.g., all screws installed (e.g., no missing screws), proper screwsinstalled, screws properly tightened, or the like) as part of thequality control process.

The embodiments disclosed herein are directed to systems and methods forinspecting an appearance of an object (e.g., a computer device such as,but not limited to, a smartphone, a tablet, a laptop, a smartwatch, acellphone, or the like). The inspection of the appearance and cosmeticgrading of the object can be utilized during, for example, manufacturingof a device, in a retail setting in which computer devices aresold/purchased, or the like.

An image of an object can be captured from each of a plurality ofcameras (in a specific cosmetic grading device) or a plurality of imagesfrom a single camera can alternatively be captured. “Profile images”(i.e., images of a particular object can be captured in a calibrationprocess and used to train the cosmetic grading system. Each image of anobject being validated (i.e., a test object) can be taken in the samecoordinate system or with a predetermined relationship. Each of thecaptured images is compared against the corresponding profile image todetermine a cosmetic score.

FIG. 1 shows a cosmetic grading system 50, according to someembodiments. The cosmetic grading system 50 can be used to, for example,provide a variety of different cosmetic grades for various test objects.The cosmetic grading system 50 can provide a cosmetic grade fordifferent types of test objects captured by different types of devices.For example, in some embodiments, the cosmetic grading system 50 canprovide a cosmetic grading service that can be accessed by a variety ofdifferent remote devices that are able to utilize a server of thecosmetic grading system 50.

The cosmetic grading system 50 generally includes a server device 52 incommunication with a computer device 54 through a network 56. The system50 can also include a computer device 58 connected to the server device52 through the network 56.

The server device 52 can include a cosmetic grading application 62 thatis configured to compare received images of a test object with images ofa corresponding profile test object. The cosmetic grading application 62can be in communication with a database including profile images ofvarious test objects. The profile images can be of different views ofthe test object. The profile images can be associated with a particulartest object according to a machine readable code such as a barcode. Inembodiments, the barcode can be a QR code. As a result, when thecosmetic grading application 62 receives an image of a barcode, thebarcode can be used to retrieve the appropriate profile images for thetest object. The cosmetic grading application 62 can then compare imagesreceived from the computer device 54 or 58 and, based on the comparison,grade the cosmetic appearance of the test object. The cosmetic gradingapplication 62 can then store the result and can also output the resultvia the network 56 to the computer device 54 or the 58. In this manner,the computer device 54 and the computer device 58 can be used to grade acosmetic appearance of a test object without the computer device 54 orthe computer device 58 being specifically configured with a cosmeticgrading application.

The network 56 may be referred to as the communications network 56.Examples of the network 56 include, but are not limited to, a local areanetwork (LAN), a wide area network (WAN), the Internet, or the like. Thecomputer device 54 or computer device 58 can transmit data via thenetwork 56 through a wireless connection using Wi-Fi, Bluetooth, orother similar wireless communication protocols. The computer device 54or computer device 58 can transmit data via the network 56 through acellular, 3G, 4G, 5G, or other wireless protocol.

The computer device 54 can be a device specifically configured forcapturing images of test objects. An example of the computer device 54is a cosmetic inspection device such as the system 100 described inadditional detail in accordance with FIGS. 2-4 below.

The computer device 58 can include an application that permits a user tosend images of a test object over the network 56 to the server device 52for cosmetic grading. The computer device 58 includes a camera and anetwork input/output to accomplish the communication and imagecapturing. The computer device 58 includes a display for showing resultsof the cosmetic grading. In some embodiments, the computer device 58 isa smartphone, a tablet, or the like. The computer device 58 can also bea laptop or a desktop computer having a camera attached thereto.

FIG. 2 shows a system 100 for grading an appearance of a test object102, according to some embodiments. The system 100 can generally be usedto, for example, capture images of the test object and communicate witha server device having a cosmetic grading application to assess acosmetic appearance of the test object. For example, in someembodiments, the system 100 can be a kiosk implemented in a retailenvironment and the test object can be a shipping container, anelectronic device (e.g., a smartphone, a smartwatch, a tablet, or thelike) and determine whether the cosmetic appearance of the test objectis damaged. In some embodiments, the validation can be part of a qualitycontrol process during manufacturing.

In the illustrated embodiment, the test object 102 is a smartphone. Itis to be appreciated that the smartphone is an example, and the testobject 102 can vary beyond a smartphone. Examples of other test objects102 include, but are not limited to, a tablet, a smartwatch, a mobilephone other than a smartphone, a personal digital assistant (PDA), alaptop computing device, or the like. Furthermore, the maker ormanufacturer of the test object 102 is not limited. That is, the system100 can be used to validate the installation correctness of componentsin test objects 102 from different manufacturers so long as acalibration procedure is performed to create a profile image for thecorresponding test object 102.

The system 100 includes a display 104 for displaying results of thevalidation to the user. In some embodiments, the display 104 can be acombined display and input (e.g., a touchscreen). In some embodiments,the display 104 can be a display of a tablet or the like. In such anembodiment, a memory of the tablet can store one or more programs to beexecuted by a processing device of the tablet for validating thecorrectness of the installation of the component in the test object 102.

In the illustrated embodiment, the display 104 is secured to housing 106of the system 100. In some embodiments, the display 104 can be separatefrom the housing 106 (i.e., not secured to the housing 106, butpositioned near the system 100 and electronically connected to thesystem 100). However, it may be beneficial to secure the display 104 tothe housing 106 to reduce a footprint of the system 100.

A platform 108 is utilized to position the test object 102 within thesystem 100 for validation. The platform 108 enables each test object 102placed into the system 100 for validation to be placed in substantiallythe same location. As a result, an amount of effort in determiningwhether the profile image and the test object 102 under test (testobject) is in a same location relative to cameras of the system 100 canbe reduced. The platform 108 is shown and described in additional detailin accordance with FIG. 3 below.

In some embodiments, the system 100 can be portable. For example, theillustrated embodiment shows system 100 with a handle 110 for carryingthe system 100. It is to be appreciated that portability of the system100 is optional, and accordingly, the handle 110 is optional. In someembodiments, the system 100 may be sized differently based on the typeof test object 102 to be validated.

FIG. 3 shows the platform 108 of the system 100 of FIG. 2 for validationof installation of a component in an test object 102, according to anembodiment.

The platform 108 includes a tiered surface having a first surface 112and a second surface 116. A step is thus formed between the firstsurface 112 and the second surface 116. A plane of the first surface 112and a plane of the second surface 116 are parallel. In the illustratedembodiment, the second surface 116 is L-shaped when viewed from a topview.

The second surface 116 is positioned a height H from the first surface112. The height H between the first surface 112 and the second surface116 creates an abutment surface 118.

The height H is selected such that the abutment surface 118 serves as astop for the test object 102 when placed within the system 100. Theabutment surface 118 is configured to provide a stop for the test object102 on two sides of the test object 102 (i.e., a major dimension of thetest object 102 and a minor dimension of the test object 102).

The height H is selected to be smaller than a thickness T of the testobject 102 being validated in the system 100. The height H is selectedto be smaller than the thickness T of the test object 102 to not hinderside views of the test object 102. The height H is selected to be largeenough that an operator inserting the test object 102 can abut the testobject 102 with the abutment surface 118. In this manner, the abutmentsurface 118 serves as a stop for the operator when inserting the testobject 102 into the system 100. In some embodiments, the height H can besubstantially the same as the thickness T of the test object 102.

The configuration of the platform 108 is helpful in establishing thelocation of the test object 102. By including the platform 108, thesystem 100 can be calibrated to generate the profile images using asingle assembly since the coordinate system is generally fixed. Theplatform 108 can, as a result, be used to account for minor variationsin placement of the test object 102 by the operator as the offset fromthe expected coordinated system can be determined based on the locationof the test object 102 relative to a calibration test object 102.

FIG. 4 shows a schematic architecture for the system 100 of FIG. 2 ,according to an embodiment.

The system 100 generally includes a plurality of cameras 120; a motionsensor 122; a proximity sensor 124; a processing device 126, memory 128,a network input/output (I/O) 130, user I/O 132, storage 134, and aninterconnect 136. The processing device 126, memory 128, networkinput/output (I/O) 130, user I/O 132, storage 134, and interconnect 136can be within the housing 106 in some embodiments. In some embodiments,the processing device 126, memory 128, network input/output (I/O) 130,user I/O 132, storage 134, and interconnect 136 can be external from thehousing 106.

The plurality of cameras 120 are arranged in the system 100 to capturedifferent views of the test object 102. In some embodiments, the cameras120 are digital cameras. For example, in some embodiments the system 100includes three cameras 120 arranged to capture a top view, an up-frontview, and an up-side view. In some embodiments, the system 100 includesfour cameras 120 arranged to capture a top view, an up-front view, afirst up-side view, and a second (opposite) up-side view. It will beappreciated that a single camera 120 could be used, although accuracymay be improved when a plurality of cameras 120 are used as a componentmay appear to be correctly installed in a first view but be determinedto be incorrectly installed in a second view.

The motion sensor 122 can be, for example, a laser sensor that can betriggered when an object (i.e., test object 102) breaks the lasersignal. The motion sensor 122 can be installed at the opening to thehousing 106. In some embodiments, the motion sensor 122 may not beincluded.

The proximity sensor 124 can be a sensor to determine when an object isplaced near it. The proximity sensor 124 can be placed in the platform108 of the system 100. In some embodiments, when the motion sensor 122is triggered and the proximity sensor 124 detects an object, the cameras120 can capture images of the test object 102 on the platform 108. Insome embodiments, the proximity sensor 124 can be included regardless ofwhether the motion sensor 122 is present. In some embodiments with bothmotion sensor 122 and proximity sensor 124, the image capturing may beperformed after the proximity sensor 124 detects the test object 102.

In some embodiments, automatically causing the image capturing andsubsequent validation to be performed using the proximity sensor 124, ora combination of the proximity sensor 124 and the motion sensor 122, canincrease a number of test objects 102 that can be validated in a setperiod. That is, reducing effort of a human operator, or even allowingfor a robotic arm to load the test object 102 into the system 100 forvalidation, can reduce an amount of time and effort needed to review thequality of the manufacturing process.

The processing device 126 can retrieve and execute programminginstructions stored in the memory 128, the storage 134, or combinationsthereof. The processing device 126 can also store and retrieveapplication data residing in the memory 128.

The interconnect 136 is used to transmit programming instructions and/orapplication data between the processing device 126, the user I/O 132,the memory 128, the storage 134, and the network I/O 130. Theinterconnect 136 can, for example, be one or more busses or the like.The processing device 126 can be a single processing device, multipleprocessing devices, or a single processing device having multipleprocessing cores. In some embodiments, the processing device 126 can bea single-threaded processing device. In some embodiments, the processingdevice 126 can be a multi-threaded processing device.

The memory 128 is generally included to be representative of arandom-access memory such as, but not limited to, Static Random-AccessMemory (SRAM), Dynamic Random-Access Memory (DRAM), or Flash. In someembodiments, the memory 128 can be a volatile memory. In someembodiments, the memory 128 can be a non-volatile memory. In someembodiments, at least a portion of the memory 128 can be virtual memory.

The storage 134 is generally included to be representative of anon-volatile memory such as, but not limited to, a hard disk drive, asolid-state device, removable memory cards, optical storage, flashmemory devices, network attached storage (NAS), or connections tostorage area network (SAN) devices, or other similar devices that maystore non-volatile data. In some embodiments, the storage 134 is acomputer readable medium. In some embodiments, the storage 134 caninclude storage that is external to the user device, such as in a cloud.

FIG. 5 shows a block diagram illustrating an internal architecture of anexample of a computer, according to some embodiments. In someembodiments, the computer can be, for example, the server device 52, thecomputer device 54, or the computer device 58, in accordance with someembodiments.

A computer as referred to herein refers to any device with a processorcapable of executing logic or coded instructions, and could be a server,personal computer, set top box, smart phone, pad computer or mediadevice, to name a few such devices. As shown in the example of FIG. 5 ,internal architecture 150 includes one or more processing units (alsoreferred to herein as CPUs) 162, which interface with at least onecomputer bus 152. Also interfacing with computer bus 152 are persistentstorage medium/media 156, network interface 164, memory 154, e.g.,random access memory (RAM), run-time transient memory, read only memory(ROM), etc., media disk drive interface 158 as an interface for a drivethat can read and/or write to media including removable media such asfloppy, CD ROM, DVD, etc. media, display interface 160 as interface fora monitor or other display device, keyboard interface 166 as interfacefor a keyboard, pointing device interface 168 as an interface for amouse or other pointing device, and miscellaneous other interfaces 170,172 not shown individually, such as parallel and serial port interfaces,a universal serial bus (USB) interface, and the like.

Memory 154 interfaces with computer bus 152 so as to provide informationstored in memory 154 to CPU 162 during execution of software programssuch as an operating system, application programs, device drivers, andsoftware modules that comprise program code, and/or computer executableprocess operations, incorporating functionality described herein, e.g.,one or more of process flows described herein. CPU 162 first loadscomputer executable process operations from storage, e.g., memory 154,storage medium/media 156, removable media drive, and/or other storagedevice. CPU 162 can then execute the stored process operations in orderto execute the loaded computer-executable process operations. Storeddata, e.g., data stored by a storage device, can be accessed by CPU 162during the execution of computer-executable process operations.

Persistent storage medium/media 156 is a computer readable storagemedium(s) that can be used to store software and data, e.g., anoperating system and one or more application programs. Persistentstorage medium/media 156 can also be used to store device drivers, suchas one or more of a digital camera driver, monitor driver, printerdriver, scanner driver, or other device drivers, web pages, contentfiles, playlists, and other files. Persistent storage medium/media 156can further include program modules and data files used to implement oneor more embodiments of the present disclosure.

For the purposes of this disclosure a module is a software, hardware, orfirmware (or combinations thereof) system, process or functionality, orcomponent thereof, that performs or facilitates the processes, features,and/or functions described herein (with or without human interaction oraugmentation). A module can include sub-modules. Software components ofa module may be stored on a computer readable medium. Modules may beintegral to one or more servers, or be loaded and executed by one ormore servers. One or more modules may be grouped into an engine or anapplication.

Examples of computer-readable storage media include, but are not limitedto, any tangible medium capable of storing a computer program for use bya programmable processing device to perform functions described hereinby operating on input data and generating an output. A computer programis a set of instructions that can be used, directly or indirectly, in acomputer system to perform a certain function or determine a certainresult. Examples of computer-readable storage media include, but are notlimited to, a floppy disk; a hard disk; a random access memory (RAM); aread-only memory (ROM); a semiconductor memory device such as, but notlimited to, an erasable programmable read-only memory (EPROM), anelectrically erasable programmable read-only memory (EEPROM), Flashmemory, or the like; a portable compact disk read-only memory (CD-ROM);an optical storage device; a magnetic storage device; other similardevice; or suitable combinations of the foregoing.

In some embodiments, hardwired circuitry may be used in combination withsoftware instructions. Thus, the description is not limited to anyspecific combination of hardware circuitry and software instructions,nor to any source for the instructions executed by the data processingsystem.

FIG. 6 shows a flowchart of a method 200, according to some embodiments.In some embodiments, the method 200 can be representative of a cosmeticgrading service being accessed via a cosmetic grading device. In someembodiments, the cosmetic grading device can be implemented as a kioskor the like in a setting such as a retail store. In some embodiments,the cosmetic grading device can be utilized in other environments suchas, for example, in a manufacturing environment in which the object tobe tested is a shipping box to be shipped or a computer device to berefurbished. It is to be appreciated that these are examples, and theapplications can vary beyond the above stated examples.

At block 202 a test object is loaded into the system 100. This includesabutting the test object with the abutment surface 118 of the platform108. In some embodiments, the test object can be loaded by a humanoperator. In some embodiments, a robotic or mechanical arm can beautomated to place the test object onto the platform 108. In someembodiments, the test object can be a computer device such as, but notlimited to, a smartphone, smartwatch, tablet, or the like. The placementof the test object can cause the motion sensor 122, the proximity sensor124, or a combination thereof, to generate a signal indicative of thetest object being in place.

At block 204, in response to the signal generated by the motion sensor122, the proximity sensor 124, or a combination thereof, the pluralityof cameras 120 each capture an image. As discussed above, the cameras120 are oriented such that the captured images are of different views ofthe test object. In some embodiments, the test object can have a barcode(e.g., a QR code or other machine readable code) on a surface of thetest object that is captured by one of the cameras 120.

At block 206, the captured images are transmitted to a server device tobe compared against profile images that are retrieved using the barcodeas captured.

At block 208 an output is generated by the server device that isindicative of the results of the validation (e.g., pass, fail, needsreview). The output can be based on a range of the matching score. Thatis, if the matching score is greater than a first value, then the outputcan be that the test object passes; between the first value and a lowersecond value, the test object may need checking (e.g., by an operator);and between the lower second value and a third value that is lower thanthe second value, the test object may fail. A failure can mean, forexample, that the test object is damaged such that the appearance doesnot match the expected appearance.

To obtain the grade, the method includes selecting, by the processor, aregion of interest in each of the plurality of images of the testobject. In some embodiments, the region of interest includes the testobject having a background removed. In some embodiments, for theplurality of regions of interest as selected, the method includescomparing, by the processor, each region of interest with acorresponding profile image and identifying defects in each region ofinterest. In some embodiments, the corresponding profile image isdetermined from the image barcode on the test object. In someembodiments, the method includes grading, by the processor, a cosmeticappearance of each region of interest based on the identified defects.In some embodiments, the method includes storing the grades of thecosmetic appearance for each region of interest.

At block 210, the output is received by the system 100 and displayed onthe display 104 of the system 100.

FIG. 7 shows a flowchart of a method 250, according to some embodiments.In some embodiments, the method 250 can be representative of a cosmeticgrading service being accessed via a computer device such as asmartphone or the like. In some embodiments, the computer device can beutilized to review aesthetics of test objects in any environmentaccessible by a user, so long as the server providing the cosmeticgrading service has received some profile images of the test objectagainst which the images received from the computer device can becompared.

At block 252 a plurality of images of a test object are captured. Theuser can orient the computer device to capture multiple views of thetest object. In some embodiments, the test object can have a barcode(e.g., a QR code or other machine readable code) on a surface of thetest object that is captured by the camera of the computer device.

At block 254, the captured images are transmitted to a server device tobe compared against profile images that are retrieved using the barcodeas captured.

At block 256 an output is generated by the server device that isindicative of the results of the validation (e.g., pass, fail, needsreview). The output can be based on a range of the matching score. Thatis, if the matching score is greater than a first value, then the outputcan be that the test object passes; between the first value and a lowersecond value, the test object may need checking (e.g., by an operator);and between the lower second value and a third value that is lower thanthe second value, the test object may fail. A failure can mean, forexample, that the test object is damaged such that the appearance doesnot match the expected appearance.

To obtain the grade, the method includes selecting, by the processor, aregion of interest in each of the plurality of images of the testobject. In some embodiments, the region of interest includes the testobject having a background removed. In some embodiments, for theplurality of regions of interest as selected, the method includescomparing, by the processor, each region of interest with acorresponding profile image and identifying defects in each region ofinterest. In some embodiments, the corresponding profile image isdetermined from the image barcode on the test object. In someembodiments, the method includes grading, by the processor, a cosmeticappearance of each region of interest based on the identified defects.In some embodiments, the method includes storing the grades of thecosmetic appearance for each region of interest.

At block 258, the output is received by the computer device anddisplayed on the display of the computer device.

The terminology used herein is intended to describe embodiments and isnot intended to be limiting. The terms “a,” “an,” and “the” include theplural forms as well, unless clearly indicated otherwise. The terms“comprises” and/or “comprising,” when used in this Specification,specify the presence of the stated features, integers, steps,operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, and/or components.

It is to be understood that changes may be made in detail, especially inmatters of the construction materials employed and the shape, size, andarrangement of parts without departing from the scope of the presentdisclosure. This Specification and the embodiments described areexamples, with the true scope and spirit of the disclosure beingindicated by the claims that follow.

What is claimed is:
 1. A method, comprising: receiving, by a processor,a plurality of images of a test object, the plurality of imagesincluding a plurality of surfaces of the test object; receiving, by theprocessor, an image of a barcode on the test object; selecting, by theprocessor, a region of interest in each of the plurality of images ofthe test object, the region of interest comprising the test objecthaving a background removed; for the plurality of regions of interest asselected, comparing, by the processor, each region of interest with acorresponding profile image and identifying defects in each region ofinterest, wherein the corresponding profile image is determined from theimage barcode on the test object; grading, by the processor, a cosmeticappearance of each region of interest based on the identified defects;and storing the grades of the cosmetic appearance for each region ofinterest.
 2. The method of claim 1, comprising sending the grades of thecosmetic appearance for each region of interest to a remote device. 3.The method of claim 1, wherein the plurality of images of the testobject are received from a remote device, wherein the remote devicecomprises a camera configured to capture the plurality of images.
 4. Themethod of claim 3, wherein the remote device is a cosmetic inspectiondevice.
 5. The method of claim 3, wherein the remote device is a mobiledevice.
 6. The method of claim 1, wherein the barcode is a QR code. 7.The method of claim 1, comprising aligning the plurality of images withthe corresponding profile images.
 8. The method of claim 1, wherein thetest object is a mobile device; comprising determining a value of themobile device based on the grades of the cosmetic appearance for eachregion of interest.
 9. The method of claim 1, wherein the test object isa mobile device; wherein the barcode is a QR code displayed on a displayof the mobile device.
 10. A system, comprising: a server devicecomprising a processor and a memory, wherein the processor of the serverdevice is configured to: receive a plurality of images of a test object,the plurality of images including a plurality of surfaces of the testobject; receive an image of a barcode on the test object; select aregion of interest in each of the plurality of images of the testobject, the region of interest comprising the test object having abackground removed; and for the plurality of regions of interest asselected, the processor is configured to compare each region of interestwith a corresponding profile image and identify defects in each regionof interest, wherein the corresponding profile image is determined fromthe image barcode on the test object; grade, by the processor, acosmetic appearance of each region of interest based on the identifieddefects; and store the grades of the cosmetic appearance for each regionof interest.
 11. The system of claim 10, comprising sending the gradesof the cosmetic appearance for each region of interest to a remotedevice over a network.
 12. The system of claim 10, wherein the pluralityof images of the test object are received from a remote device over anetwork, wherein the remote device comprises a camera configured tocapture the plurality of images.
 13. The system of claim 12, wherein theremote device is a cosmetic inspection device.
 14. The system of claim12, wherein the remote device is a mobile device.
 15. The system ofclaim 10, wherein the barcode is a QR code.
 16. The system of claim 10,wherein the processor is configured to align the plurality of imageswith the corresponding profile images.
 17. The system of claim 10,wherein the test object is a mobile device; wherein the processor isconfigured to determine a value of the mobile device based on the gradesof the cosmetic appearance for each region of interest.
 18. The systemof claim 10, wherein the test object is a mobile device; wherein thebarcode is a QR code displayed on a display of the mobile device.
 19. Anon-transitory computer-readable storage medium comprising instructionsthat, when executed by a processor, cause the processor to perform amethod, comprising: receiving, by a processor, a plurality of images ofa test object, the plurality of images including a plurality of surfacesof the test object; receiving, by the processor, an image of a barcodeon the test object; selecting, by the processor, a region of interest ineach of the plurality of images of the test object, the region ofinterest comprising the test object having a background removed; for theplurality of regions of interest as selected, comparing, by theprocessor, each region of interest with a corresponding profile imageand identifying defects in each region of interest, wherein thecorresponding profile image is determined from the image barcode on thetest object; grading, by the processor, a cosmetic appearance of eachregion of interest based on the identified defects; and storing thegrades of the cosmetic appearance for each region of interest.
 20. Thenon-transitory computer readable storage medium of claim 19, comprisingsending the grades of the cosmetic appearance for each region ofinterest to a remote device over a network.